﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using WMS.BasicData.ProductDetails;
using WMS.BasicData.Vendors.DTO;
using WMS.InventoryManagement.TakeStocks.DTO;
using WMS.Web.Controllers.BasicData.Vendors;

namespace WMS.InventoryManagement.TakeStocks
{
    /// <summary>
    /// 盘点接口
    /// </summary>
    public interface ITakeStockAppService: IApplicationService
    {
        /// <summary>
        /// 获取供应商（分页）
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="limit">页容量</param>
        /// <param name="chineseName">中文名字</param>
        /// <returns>返回对应数据</returns>
        Task<PagedResult> GetTakeStock(int page, int limit);

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="vendor">供应商信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> AddTakeStock(TakeStock takeStock);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="Id">主键Id</param>
        /// <returns>返回受影响行数</returns>
        Task<int> DeleteTakeStock(int Id);

        /// <summary>
        /// 获取对应数据
        /// </summary>
        /// <param name="Id">主键Id</param>
        /// <returns>返回受影响行数</returns>
        Task<TakeStock> BackfillData(int Id);

        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        Task<int> UpdateTakeStock(TakeStockDTO takeStock);

        /// <summary>
        /// 获取商品信息
        /// </summary>
        /// <returns></returns>
        Task<List<ProductDetail>> GetProductDetail();

    }
}
